// miniprogram/pages/scan/scan.js

// 获取App对象
var app = getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {

  },

  takephoto() {
    //1.拍下一张照片
    this.getphoto().then((path) => {
      //2.将照片转为base64
      return this.readFile(path)
    }
    ).then((base64) => {
      //3.提交到腾讯云
      return this.txApi(base64);
    }).then((result) => {
        //4.判断结果
        let items = result.data.data.items;
        console.log(items);
        // 判断是否有邮字
        let hasYou = items.some((item) => {
          return item.itemstring.indexOf('邮') > -1;
        })

        /*******调试云函数，测试完后删掉 **********/
          // hasYou = true;
         console.log('hasYou?', hasYou);
        /*******调试云函数 **********/

        if (hasYou) {
          wx.showToast({
            title: '有邮！',
            icon: 'success',
            duration: 2000,
          });
          // 创建记录 -- 云函数端随机一个类型  并 写进数据库
          wx.cloud.callFunction({
            name: 'getYou',
            success: (res) => {
              console.log('getYou', res, res.result.type);


                if(!res.result.success){    //如果次数已经用完
                  wx.showToast({
                    title:"52h"+ res.result.msg,
                    icon: 'none',
                    duration: 2500,
                  });
                  return
                }


                //跳转扫邮结果页
                let type=res.result.type
                wx.redirectTo({
                  url: `../scan_result/scan_result?type=${type}`
                })

            }
          })
        } else {
          wx.showToast({
            title: 'please try again',
            icon: 'none',
            duration: 1500,
          });
        }

      })
  },



  
  // 1. 拍照
  getphoto() {
    return new Promise((reslove, reject) => {
      const ctx = wx.createCameraContext()
      ctx.takePhoto({
        quality: 'high',
        success: (res) => {
          //返回图片的临时路径
          console.log(res)
          reslove(res.tempImagePath);
          // this.setData({
          //   src: res.tempImagePath
          // })
        },
        fail: (err) => {
          reject(err)
        }
      })
    })
  },
  // 2.转为base64
  readFile(path) {
    return new Promise((reslove, reject) => {
      //获取文件系统管理器对象
      const fs = wx.getFileSystemManager();
      console.log(fs)
      fs.readFile({
        filePath: path,
        encoding: 'base64',
        success: (res) => {
          reslove(res.data);
        },
        fail: (err) => {
          reject(err);
        }

      })
    })
  },

  // 3.
  txApi(base64) {
    return new Promise((reslove, reject) => {
      wx.request({
        url: 'https://recognition.image.myqcloud.com/ocr/general',
        header: {
          'host': 'recognition.image.myqcloud.com',
          'content-type': 'application/json',
          'authorization': app.globalData.sign
        },
        data: {
          appid: '1258450011',
          image: base64
        },
        method: 'POST',
        success: (res) => {
          reslove(res);
        },
        fail: () => {
          reject(err);
        }
      })
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
      console.log(app.globalData)
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})